package com.ruoyi.common.currentlimit.annotation;

import com.ruoyi.common.currentlimit.enums.LimitType;

import java.lang.annotation.*;

/**
 * @description: 自定义限流注解
 * @author: Yuan
 * @create: 2025-02-22 08:52
 **/
@Documented
@Inherited
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisLimitAnnotation {

    /**
     * key
     *
     */
    String key() default "";

    /**
     * key的前缀
     */
    String prefix() default "";

    /**
     * 一定时间内最多访问次数
     */
    int count();

    /**
     * 给定的时间范围
     */
    int period();

    LimitType limitType() default LimitType.CUSTOMER;
}
